home *** CD-ROM | disk | FTP | other *** search
/ Aminet 16 / Aminet 16 (1996)(GTI - Schatztruhe)[!][Dec 1996].iso / Aminet / dev / src / wangisrc.lha / wangi / z / wpad_library / SMakefile < prev    next >
Makefile  |  1995-09-01  |  3KB  |  149 lines

  1. ############################################################################
  2. # smakefile
  3. #
  4. # wpad.library, Copyright ©1995 Lee Kindness.
  5. #
  6. # Makefile for wpad.library
  7. #
  8. # Compiles and links wpad.library
  9. # Extracts autodocs and copies to $(AD)
  10. # Copies public headers to $(INC)
  11. # Copies fd files to $(FD)
  12. # Copies debug version of wpad.library to LIBS:
  13. #
  14.  
  15. .c.o:
  16.    SC $(OPTIMIZE) $(CFLAGS) $(DEBUG) DEFINE=CPU_$(CPU) CPU=$(CPU) GST=$(GST) OBJNAME=$*.o $*.c
  17.  
  18. .c.oo:
  19.    SC $(OPTIMIZE) $(CFLAGS) $(DEBUG) DEFINE=CPU_$(CPU) CPU=ANY GST=$(GST) OBJNAME=$*.oo $*.c
  20.  
  21. .asm.o:
  22.    ASM -D -DCPU_$(CPU) -u $*.asm
  23.  
  24.  
  25.  
  26. CFLAGS = STREQ STRMERGE NOSTKCHK IDLEN=65 NOVER MEMSIZE=HUGE UTILLIB \
  27.          DEFINE=LIB_CODE
  28.  
  29. LFLAGS = DEFINE __CXM33=__UCXM33 DEFINE __CXD33=__UCXD33 \
  30.          DEFINE __CXM22=__UCXM22 DEFINE __CXD22=__UCXD22 \
  31.          SC ADDSYM SD NOICONS
  32.  
  33. ADFLAGS = -C -c -I
  34.  
  35. OPTIMIZE = OPTIMIZE NOOPTINLOCAL OPTSIZE
  36.  
  37. CPU = ANY
  38.  
  39. DEBUG = DEBUG=LINE
  40.  
  41. LIBS = LIB:amiga.lib LIB:sc.lib 
  42.  
  43. GST = INCLUDE:wpad.gst
  44.  
  45. INC = INCLUDE:
  46.  
  47. AD = AUTODOC:
  48.  
  49. FD = FD:
  50.  
  51. VERSION = 1
  52.  
  53. OBJS = wpad_romtag.o wpad_data.o wpad_lib.oo \
  54.        WP_ClosePad.o WP_OpenPad.o WP_GetPadAttrs.o WP_SetPadAttrs.o \
  55.        WP_PadCount.o WPP_Init.o WPP_Exit.o WPP_Entry.o WPP_Handler.o \
  56.        WPP_HandleSetAttrs.o WPP_HandleGetAttrs.o WPP_AddHotKeys.o \
  57.        WPP_FreeHotKeys.o WPP_OpenWindow.o WPP_CloseWindow.o WPP_GetSigMask.o \
  58.        WPP_AllocPIHandles.o WPP_FreePIHandles.o
  59.  
  60. ADFILES = WP_ClosePad.c WP_OpenPad.c WP_GetPadAttrs.c WP_SetPadAttrs.c \
  61.           WP_PadCount.c
  62.  
  63.  
  64.  
  65. all: $(GST) $(INC)clib/wpad_protos.h $(INC)pragmas/wpad_pragmas.h \
  66.      $(INC)libraries/wpad.h $(INC)proto/wpad.h $(AD)wpad.doc \
  67.      $(FD)wpad_lib.fd wpad.library
  68.  
  69. ##############################################################################
  70. #
  71. # Compile, link and copy wpad.library
  72. #
  73.  
  74. wpad.library: $(OBJS)
  75.    SLINK WITH T:wpad.WITH <<!(T:wpad.WITH)
  76. FROM $(OBJS)
  77. TO $@.debug
  78. LIB $(LIBS)
  79. $(LFLAGS)
  80. MAP T:$@.map,hsx WIDTH 160 FWIDTH 40 HWIDTH 40 PWIDTH 40 SWIDTH 40
  81.    <
  82.    SLINK FROM $@.debug TO $@ ND NOICONS
  83.    Protect $@ -e
  84.    Copy $@.debug LIBS:$@
  85.    FlushLibs
  86.    bumprev $(VERSION) wpad.library
  87.  
  88. wpad_romtag.o: wpad_romtag.asm
  89.  
  90. $(GST): wpad_preinclude.c wpad_global.h wpad_includes.h
  91.    GST $@ unload
  92.    SC NOOBJNAME MAKEGST=$@ wpad_preinclude.c
  93.    GST $@
  94.  
  95. ##############################################################################
  96. #
  97. # Update headers and copy.
  98. # fd2pragma is NOT the SAS/C supplied one. It is by Jochen Wiedmann
  99. # <wiedmann@mailserv.zdv.uni-tuebingen.de> and is on aminet as fd2pragma2_0.lha
  100. #
  101.  
  102. $(INC)clib/wpad_protos.h: wpad_protos.h
  103.    copy wpad_protos.h TO $@
  104.  
  105. $(INC)pragmas/wpad_pragmas.h: wpad_pragmas.h
  106.    copy wpad_pragmas.h TO $@
  107.  
  108. wpad_pragmas.h: wpad_lib.fd
  109.    fd2pragma wpad_lib.fd SAS $@ TAGDIR=stubs
  110.  
  111. $(INC)libraries/wpad.h: wpad.h
  112.    copy wpad.h TO $@
  113.  
  114. $(INC)proto/wpad.h: proto_wpad.h
  115.    copy proto_wpad.h TO $@
  116.  
  117. $(FD)wpad_lib.fd: wpad_lib.fd
  118.    copy wpad_lib.fd TO $@
  119.  
  120. ##############################################################################
  121. #
  122. # Compile the autodoc and copy.
  123. #
  124.  
  125. $(AD)wpad.doc: wpad.doc
  126.    copy wpad.doc TO $@
  127.  
  128. wpad.doc: $(ADFILES)
  129.    AutoDoc >wpad.doc $(ADFLAGS) $(ADFILES)
  130.  
  131. ##############################################################################
  132. #
  133. # Other targets
  134. #
  135.  
  136. bumprev:
  137.    bumprev $(VERSION) wpad.library
  138.  
  139. clean:
  140.    delete \#?.o\#o
  141.  
  142. allclean:
  143.    delete $(GST) \#?.o\#o T:$@.map 
  144.  
  145. maketest:
  146.    sc test.c LINK GST=$(GST) $(DEBUG)
  147.  
  148.  
  149.